//Dart语言没有提供private / protected / public关键字
//如果希望限制类内部的成员只能在内部访问，不能在类外直接访问，需要：
//① 该成员的名字以_开头；  ② 该类必须声明在另外的一个.dart文件中
class Emp{
  late String _ename;    //Dart关键字late专用于类的成员属性，表示稍后有方法对当前属性进行赋值
  late int _age;

  setEname(String n){
    this._ename = n;
  }
  getEname(){
    return this._ename;
  }
  setAge(int a){
    this._age = a;
  }
  getAge(){
    return this._age;
  }

  printInfo(){
    print('姓名：${this._ename}, 年龄：${this._age}');
  }
}


class Book {
  late String _title;
  late double _price;

  //使用setter代替setXxx()方法
  set title(String t){
    this._title = t;
  }
  set price(double d){
    this._price = d;
  }
  //使用getter代替getXxx()方法
  String get title{     //getter方法必须省略小括号
    return this._title;
  }
  double get price=>this._price;  //此处的getter方法必须省略小括号

  printInfo(){
    print('书名：${this._title}, 价格：${this._price}');
  }
}